1. Field of the Invention
The present invention relates to a numerical control unit for controlling the schedule run of an NC machine tool.
2. Description of the Conventional Art
The automatic timed control of scheduled events is a goal desired in many fields. For example, as disclosed in Laid Open Japanese Patent Publication 1-96003, the scheduling control of various units of lighting areas, energizing motors and operating various systems in buildings or factories is provided. Such goal also is desired in the automatic manufacture of products comprising one or more workpieces, including manufacture by numerical control.
Conventionally, a NC machine tool is controlled by a machining program, which gives the machine tool instructions with respect to the machining of a locus on a workpiece, machining conditions and the like, and responds to a variety of input data which may be stored or registered. The sequence of reading registered information concerning the program run sequence, the number or run times, run start time, etc. for the machining program (hereinafter "machining schedule data"), the reading of registered information for a measurement program which gives a machine tool instructions in regards to measurement locus and measurement conditions and the like (hereinafter "measurement schedule data"), and the running of the machine tool in accordance with the machining schedule data and measurement schedule data is commonly called a "schedule run" of the program.
FIG. 16 is a hardware configuration diagram of a conventional numerical control unit for performing a schedule run process, as disclosed in Japanese Patent Publication No. 200409 of 1989. FIG. 17 shows an example of a machining program file directory screen for the conventional numerical control unit. FIG. 18 illustrates a scheduling data screen example of the conventional numerical control unit.
An embodiment of the conventional art may be described in accordance with the drawings. First the hardware configuration example may be described with reference to FIG. 16, illustrating the hardware configuration of the known numerical control unit. In FIG. 16, a processor (CPU) 111 is used for controlling the whole numerical control unit via a common bus 126 in a conventional system architecture. A ROM 112 storing a control program, a RAM 113 storing various types of data, and a non-volatile storage 114, such as a bubble memory, storing various types of data, parameters, etc, are all accessible by the CBU via the system bus 126. Within memory 114 is scheduling data 114a for determining the machining programs that are to be employed for scheduling runs and the sequence of program execution.
Also connected to the system bus is a tape reader 115, used for reading a machining program, etc. from a paper tape, a display control circuit (CRTC) 116 for converting a digital signal into a display signal, a display device 116a, such as a CRT or a liquid crystal display device, and a keyboard 117 for entering various types of data.
The operational elements connected to the bus include a position control circuit 118 for controlling a servo motor. Circuit 118 connects to a servo amplifier 119 for controlling servo motor velocity, of a servo motor 120. A tacho-generator 121 is used for velocity feedback, and a position detector 122, such as a pulse coder or an optical scale, receives or inputs from generator 121 and outputs a signal to control circuit 118. While these elements are required for control of each of the machine axes, only those elements used for one axis are mentioned herein.
An I/O circuit 123 also connects to the bus 126 for transferring a digital signal to and from an external device, and a manual pulse generator 124 is connected into the system for moving each axis digitally.
An interface circuit 125 connects to bus 126 for transferring a signal to and from the external device. An external storage device 130, which may be a hard disk unit, is coupled with the interface 125 via a communication line 131. The external storage device is not limited to the hard disk unit but may be a floppy disk unit or a card reader unit which transfers data to and from an IC card.
In this configuration, a plurality of machining programs are stored in the external storage device 130, the sequence of executing the machining programs and the number of execution times are set and stored in-the non-volatile memory 114 as scheduling data 114a, and workpieces are machined according to the scheduling data 114a to allow the job shop type production of complicated workpieces.
FIG. 17 provides an example of a machining program file directory screen, wherein 140 indicates a file directory screen, 141 an indication denoting the file directory screen, 142 a file number section, 143 a file name section, and 144 represents file tape lengths. By setting a cursor on the screen to the file number 0000 and pressing a "SELECT" key 145, the screen progresses to a scheduling data screen.
FIG. 18 gives an example of the scheduling data screen, wherein 150 indicates a schedule data screen, 151 an indication denoting the schedule data screen, 152 a run sequence section, and 153 a run program file section. 154 indicates a program file run count section, meaning the number of workpieces to be machined. 155 indicates a currently run program file count section, meaning the number of workpieces already machined.
In a preferred order for programming the machining of several work pieces, the scheduling data screen 150 is first selected and the data of the run sequence 152, the program file 153 and the run count 154 are entered to complete the scheduling data. This scheduling data is then stored into the non-volatile memory 114 as the scheduling data 114a. By later selecting and executing this scheduling data 114a, a plurality of workpieces can be machined on a predetermined number basis. Multiple pieces of such scheduling data may be created and registered in the non-volatile memory 114.
The conventional numerical control unit configured as described above only executes the scheduling data in sequence and cannot achieve a scheduled run meeting complicated conditions in a practical machining environment, as described in several examples given below.
In one example, an alarm condition such as tool wear, machine-generated heat, consumable part wear or a machining program error may occur during actual, long-time unattended machining. Without a schedule changing function at the occurrence of alarm, the conventional numerical control unit stops its operation on occurrence of the alarm. Hence, if a schedule command is given to machine 100 workpieces during an unattended operation at night, the occurrence of alarm at the 10th workpiece leaves the remaining 90 workpieces unmachined until the morning, when the operators return to their assigned stations.
In another example, machining accuracy tends to deteriorate as the number of workpieces machined increases. This is due to the thermal deformation of the machine, tool wear, etc. in actual long-period unmanned operation. To prevent this, it is desired to add a compensation factor to the original machining data by executing a tool measurement program every time several workpieces have been machined. Since the schedule run function of the known numerical control unit does not allow the measurement program to be registered independently of the machining program, the measurement program is registered together with the machining program. Therefore, the measurement program is called every time only one workpiece has been machined, increasing wasteful non-machining time and reducing productivity.
In a further example, assume that two types of parts, part A and part B, are machined by a machine tool which performs a schedule run. Also assume that two pieces of part B will be assembled to one piece of part A in a postprocess. In such a case, it is desired to machine one piece of part A and two pieces of part B as a set in order to decrease an intermediate stock between the machining process of the machine tool and the assembling postprocess. When one piece of part A and two pieces of part B cannot be mounted on one workpiece, a long list of schedule must be registered, e.g. one piece of part A and two pieces of part B, one piece of part A and two pieces of part B, . . . , in the schedule run function of the conventional numerical control unit. However, such registration is not practical because the number of schedule elements that can be registered is limited.
Hence, the parts are registered in blocks, e.g. 100 pieces of part A and 200 pieces of part B. This procedure produces an intermediate stock of 100 pieces of part A between the machining process of the machine tool and the assembling postprocess. Such a large intermediate stock requirement reduces the production efficiency of the whole manufacturing line.
In another example, when considering how to improve the productivity of a plant, which is not automatic in setup and chip removal work and requires an operator for machining, the warm-up time of a machine is non-production time. It is desired to have finished such warm-up in early morning, before the operator arrives at work.
In addition, for example, long-time continuous machining tends to deteriorate machining accuracy due to heat generation. To prevent this, it is desired to provide predetermined machine cooling time between schedules. However, since the schedule run function of the known numerical control unit cannot provide time-of-day information for the schedule, a desirable schedule run cannot be achieved.
Finally, the schedule data registration/display function known in the art is an independent function. Therefore, for example, if it is desired to correct the tool numbers of the following machining programs because tool breakage has taken place during the run of a machining program registered to the schedule, a memorandum of all the machining program numbers that follow must be made, a transition made to an edit screen from the keyboard, then the machining program numbers entered, and the machining programs corrected in the sequence written in the memorandum. Hence, a corrected machining program number error is apt to occur.